<!DOCTYPE html>
<html lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>query_bar_code_params [HALCON算子参考手册]</title>
<style type="text/css">
      body {
    color: #000000;
    background-color: #ffffff;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
}

.body_main {
    margin-left: 35px;
    margin-right: 35px;
}

@media screen and (min-width:992px) {

    .body_main {
        margin-left: 10%;
        margin-right: 10%;
    }

    table.toctable {
        width: 80%
    }
}

@media screen and (min-width:1400px) {

    .body_main {
        margin-left: 15%;
        margin-right: 15%;
    }

    table.toctable {
        width: 70%
    }
}

body>div ul ul {
    margin-left: inherit;
}

a:link {
    color: #0044cc;
}

a:link,
a:visited {
    text-decoration: none;
}

a:link:hover,
a:visited:hover {
    text-decoration: underline;
}

th {
    text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-rendering: optimizeLegibility;
    color: #666666;
}

code {
    font-family: monospace,monospace;
}

h1 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

h2 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

hr {
    border: 0;
    border-top: solid 1px #f28d26;
}

.pre {
    display: block;
    padding-bottom: 1ex;
    font-family: monospace;
    white-space: pre;
}

pre {
    font-family: monospace, monospace;
    padding: 1ex;
    white-space: pre-wrap;
}

.toc {
    font-size: 80%;
    border-top: 1px dashed #f28d26;
    border-bottom: 1px dashed #f28d26;
    padding-top: 5px;
    padding-bottom: 5px;
}

.inv {
    margin: 0;
    border: 0;
    padding: 0;
}

.banner {
    color: #666666;
    padding-left: 1em;
}

.logo {
    background-color: white;
}

.keyboard {
    font-size: 80%;
    padding-left: 3px;
    padding-right: 3px;
    border-radius: 5px;
    border-width: 1px;
    border-style: solid;
    border-color: #f28d26;
    background-color: #f3f3f3;
}

.warning {
    margin-top: 2ex;
    margin-bottom: 1ex;
    padding: 10px;
    text-align: center;
    border: 1px solid;
    color: #bb0000;
    background-color: #fff7f7
}

.imprint {
    margin-top: 1ex;
    font-size: 80%;
    color: #666666;
}

.imprinthead {
    font-weight: bolder;
    color: #666666;
}

.indexlink {
    text-align: right;
    padding-bottom: 5px;
}

.postscript {
    margin-top: 2ex;
    font-size: 80%;
    color: #666666
}

.evenrow {
    background-color: #e7e7ef;
    vertical-align: top;
}

.oddrow {
    background-color: #f7f7ff;
    vertical-align: top;
}

.headrow {
    background-color: #97979f;
    color: #ffffff;
    vertical-align: top;
}

.logorow {
    vertical-align: top;
}

.error {
    color: red;
}

.var {
    font-style: italic
}

.halconoperator {
    font-family: monospace, monospace;
}

span.operator {
    font-family: monospace, monospace;
}

span.procedure {
    font-family: monospace, monospace;
}

span.operation {
    font-family: monospace, monospace;
}

span.feature {
    font-family: Arial, Helvetica, Homerton, sans-serif;
}

ul {
    padding-left: 1.2em;
}

li.dot {
    list-style-type: square;
    color: #f28d26;
}

.breadcrumb {
    font-size: 80%;
    color: white;
    background-color: #062d64;
    margin-bottom: 20px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 15px;
}

.webbar {
    font-size: 80%;
    background-color: #dddddd;
    margin-top: 0px;
    margin-left: -35px;
    margin-right: -35px;
    margin-bottom: 0px;
    padding-top: 5px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 5px;
}

.footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-top: 1px dashed #f28d26;
    font-size: 80%;
    color: #666666;
    padding-bottom: 8px;
}

.footer .socialmedia a {
    padding-left: 7px;
}

.socialmedia {
    padding-top: 10px;
}

.copyright {
    margin-top: 19px;
}

.breadcrumb a {
    color: #ffffff;
    border-bottom: 1px solid white;
}

.breadcrumb a:link:hover,
.breadcrumb a:visited:hover {
    text-decoration: none;
    border-bottom: none;
}

.heading {
    margin-top: 1ex;
    font-size: 110%;
    font-weight: bold;
    color: #666666;
}

.text {
    color: black;
}

.example {
    font-size: 80%;
    background-color: #f3f3f3;
    border: 1px dashed #666666;
    padding: 10px;
}

.displaymath {
    display: block;
    text-align: center;
    margin-top: 1ex;
    margin-bottom: 1ex;
}

.title {
    float: left;
    padding-top: 3px;
    padding-bottom: 3px;
}

.signnote {
    font-family: Arial, Helvetica, Homerton, sans-serif;
    font-size: 80%;
    color: #666666;
    font-weight: lighter;
    font-style: italic
}

.par {
    margin-bottom: 1.5em;
}

.parhead {
    text-align: right;
}

.parname {
    float: left;
}

.pardesc {
    font-size: 85%;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    margin-left: 2em;
}

.parcat {
    color: #666;
    font-weight: bold;
}

*[data-if=cpp],
*[data-if=c],
*[data-if=dotnet],
*[data-if=com],
*[data-if=python] {
    display: none;
}

.tabbar {
    text-align: right;
    border-bottom: 1px solid #f28d26;
    margin-bottom: 0.5em;
}

ul.tabs {
    padding-top: 3px;
    padding-bottom: 3px;
    margin-top: 10px;
    margin-bottom: 0;
    font-size: 80%
}

ul.tabs li {
    padding-top: 3px;
    padding-bottom: 3px;
    display: inline;
    overflow: hidden;
    list-style-type: none;
    margin: 0;
    margin-left: 8px;
    border-top: 1px solid #666;
    border-left: 1px solid #666;
    border-right: 1px solid #666;
}

ul.tabs li.active {
    border-left: 1px solid #f28d26;
    border-right: 1px solid #f28d26;
    border-top: 1px solid #f28d26;
    border-bottom: 1px solid #fff;
}

ul.tabs li.inactive {
    background-color: #eee;
}

ul.tabs li a {
    padding-left: 5px;
    padding-right: 5px;
    color: #666;
}

ul.tabs li a:link:hover {
    text-decoration: none;
}

ul.tabs li.inactive a {
    color: #666;
}

ul.tabs li.active a {
    color: black;
}

dl.generic dd {
    margin-bottom: 1em;
}

.pari {
    color: olive;
}

.paro {
    color: maroon;
}

.comment {
    font-size: 80%;
    color: green;
    white-space: nowrap;
}

table.grid {
    border-collapse: collapse;
}

table.grid td {
    padding: 5px;
    border: 1px solid;
}

table.layout {
    border: 0px;
}

table.layout td {
    padding: 5px;
}

table.table {
    border-collapse: collapse;
}

table.table td {
    padding: 5px;
    border-left: 0px;
    border-right: 0px;
}

table.table tr:last-child {
    border-bottom: 1px solid;
}

table.table th {
    padding: 5px;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-left: 0px;
    border-right: 0px;
}

.details_summary {
    cursor: pointer;
}

table.toctable {
    width: 100%;
}

table.toctable col:first-child {
    width: 20%;
}

table.toctable col:nth-last-child(2) {
    width: 8%;
}

table.altcolored tr:nth-child(even) {
    background-color: #f3f3f3;
}

    </style>
<!--OP_REF_STYLE_END-->
<script>
    <!--
var active_lang='hdevelop';function switchVisibility(obj,active_lang,new_lang)
{var display_style='inline';
for(var i=0;i<obj.length;i++)
{if(obj.item(i).getAttribute('data-if')==new_lang)
{obj.item(i).style.display=display_style;}
if(obj.item(i).getAttribute('data-if')==active_lang)
{obj.item(i).style.display='none';}}
return;}
function toggleLanguage(new_lang,initial)
{if(active_lang!=new_lang)
{var lis=document.getElementsByTagName('li');for(var i=0;i<lis.length;i++)
{if(lis.item(i).id=='syn-'+new_lang)
{lis.item(i).className='active';}
else
{lis.item(i).className='inactive';}}
var divs=document.getElementsByTagName('div');var spans=document.getElementsByTagName('span');switchVisibility(divs,active_lang,new_lang);switchVisibility(spans,active_lang,new_lang);if(!initial)
{setCookie("halcon_reference_language",new_lang,null,null);}
active_lang=new_lang;}
return;}
function setCookie(name,value,domain,exp_offset,path,secure)
{localStorage.setItem(name,value);}
function getCookie(name)
{return localStorage.getItem(name);}
function initialize()
{var qs=location.href.split('?')[1];var qs_lang_raw=location.href.split('interface=')[1];var qs_lang;if(qs_lang_raw)
{qs_lang=qs_lang_raw.split('#')[0];}
var cookie_lang=getCookie("halcon_reference_language");var new_lang;if((qs_lang=="hdevelop")||(qs_lang=="dotnet")||(qs_lang=="python")||(qs_lang=="cpp")||(qs_lang=="c"))
{new_lang=qs_lang;setCookie("halcon_reference_language",new_lang,null,null);}
else if((cookie_lang=="hdevelop")||(cookie_lang=="dotnet")||(cookie_lang=="python")||(cookie_lang=="cpp")||(cookie_lang=="c"))
{new_lang=cookie_lang;}
else
{new_lang="hdevelop";}
toggleLanguage(new_lang,1);return;}
-->

  </script>
</head>
<body onload="initialize();">
<div class="breadcrumb">
<br class="inv"><a href="index.html">目录</a> / <a href="toc_identification.html">Identification</a> / <a href="toc_identification_barcode.html">Bar Code</a><br class="inv">
</div>
<div class="body_main">
<div class="tabbar"><ul class="tabs">
<li id="syn-hdevelop" class="active"><a href="javascript:void(0);" onclick="toggleLanguage('hdevelop')" onfocus="blur()">HDevelop</a></li>
<li id="syn-dotnet" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('dotnet')" onfocus="blur()">.NET</a></li>
<li id="syn-python" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('python')" onfocus="blur()">Python</a></li>
<li id="syn-cpp" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('cpp')" onfocus="blur()">C++</a></li>
<li id="syn-c" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('c')" onfocus="blur()">C</a></li>
</ul></div>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<!--OP_REF_HEADER_END-->
<h1 id="sec_name">
<span data-if="hdevelop" style="display:inline;">query_bar_code_params</span><span data-if="c" style="display:none;">T_query_bar_code_params</span><span data-if="cpp" style="display:none;">QueryBarCodeParams</span><span data-if="dotnet" style="display:none;">QueryBarCodeParams</span><span data-if="python" style="display:none;">query_bar_code_params</span> (算子名称)</h1>
<h2>名称</h2>
<p><code><span data-if="hdevelop" style="display:inline;">query_bar_code_params</span><span data-if="c" style="display:none;">T_query_bar_code_params</span><span data-if="cpp" style="display:none;">QueryBarCodeParams</span><span data-if="dotnet" style="display:none;">QueryBarCodeParams</span><span data-if="python" style="display:none;">query_bar_code_params</span></code> — Get the names of the parameters that can be used in set_bar_code* and
get_bar_code* operators for a given bar code model</p>
<h2 id="sec_synopsis">参数签名</h2>
<div data-if="hdevelop" style="display:inline;">
<p>
<code><b>query_bar_code_params</b>( :  : <a href="#BarCodeHandle"><i>BarCodeHandle</i></a>, <a href="#Properties"><i>Properties</i></a> : <a href="#GenParamName"><i>GenParamName</i></a>)</code></p>
</div>
<div data-if="c" style="display:none;">
<p>
<code>Herror <b>T_query_bar_code_params</b>(const Htuple <a href="#BarCodeHandle"><i>BarCodeHandle</i></a>, const Htuple <a href="#Properties"><i>Properties</i></a>, Htuple* <a href="#GenParamName"><i>GenParamName</i></a>)</code></p>
</div>
<div data-if="cpp" style="display:none;">
<p>
<code>void <b>QueryBarCodeParams</b>(const HTuple&amp; <a href="#BarCodeHandle"><i>BarCodeHandle</i></a>, const HTuple&amp; <a href="#Properties"><i>Properties</i></a>, HTuple* <a href="#GenParamName"><i>GenParamName</i></a>)</code></p>
<p>
<code><a href="HTuple.html">HTuple</a> <a href="HBarCode.html">HBarCode</a>::<b>QueryBarCodeParams</b>(const HString&amp; <a href="#Properties"><i>Properties</i></a>) const</code></p>
<p>
<code><a href="HTuple.html">HTuple</a> <a href="HBarCode.html">HBarCode</a>::<b>QueryBarCodeParams</b>(const char* <a href="#Properties"><i>Properties</i></a>) const</code></p>
<p>
<code><a href="HTuple.html">HTuple</a> <a href="HBarCode.html">HBarCode</a>::<b>QueryBarCodeParams</b>(const wchar_t* <a href="#Properties"><i>Properties</i></a>) const  <span class="signnote">
            (
            Windows only)
          </span></code></p>
</div>
<div data-if="com" style="display:none;"></div>
<div data-if="dotnet" style="display:none;">
<p>
<code>static void <a href="HOperatorSet.html">HOperatorSet</a>.<b>QueryBarCodeParams</b>(<a href="HTuple.html">HTuple</a> <a href="#BarCodeHandle"><i>barCodeHandle</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Properties"><i>properties</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#GenParamName"><i>genParamName</i></a>)</code></p>
<p>
<code><a href="HTuple.html">HTuple</a> <a href="HBarCode.html">HBarCode</a>.<b>QueryBarCodeParams</b>(string <a href="#Properties"><i>properties</i></a>)</code></p>
</div>
<div data-if="python" style="display:none;">
<p>
<code>def <b>query_bar_code_params</b>(<a href="#BarCodeHandle"><i>bar_code_handle</i></a>: HHandle, <a href="#Properties"><i>properties</i></a>: str) -&gt; Sequence[str]</code></p>
<p>
<code>def <b>query_bar_code_params_s</b>(<a href="#BarCodeHandle"><i>bar_code_handle</i></a>: HHandle, <a href="#Properties"><i>properties</i></a>: str) -&gt; str</code></p>
</div>
<h2 id="sec_description">描述</h2>
<p>该算子 <code><span data-if="hdevelop" style="display:inline">query_bar_code_params</span><span data-if="c" style="display:none">query_bar_code_params</span><span data-if="cpp" style="display:none">QueryBarCodeParams</span><span data-if="com" style="display:none">QueryBarCodeParams</span><span data-if="dotnet" style="display:none">QueryBarCodeParams</span><span data-if="python" style="display:none">query_bar_code_params</span></code> returns parameter names
of the bar code model that correspond to the selection given in
<a href="#Properties"><i><code><span data-if="hdevelop" style="display:inline">Properties</span><span data-if="c" style="display:none">Properties</span><span data-if="cpp" style="display:none">Properties</span><span data-if="com" style="display:none">Properties</span><span data-if="dotnet" style="display:none">properties</span><span data-if="python" style="display:none">properties</span></code></i></a>. To explain this, here first some background:
After creating a bar code model, all parameters
are initially set <i><span data-if="hdevelop" style="display:inline">'general'</span><span data-if="c" style="display:none">"general"</span><span data-if="cpp" style="display:none">"general"</span><span data-if="com" style="display:none">"general"</span><span data-if="dotnet" style="display:none">"general"</span><span data-if="python" style="display:none">"general"</span></i>, i.e., they have the same values set
for each supported bar code type. During automatic parameter training or
after calling 该算子 <a href="set_bar_code_param_specific.html"><code><span data-if="hdevelop" style="display:inline">set_bar_code_param_specific</span><span data-if="c" style="display:none">set_bar_code_param_specific</span><span data-if="cpp" style="display:none">SetBarCodeParamSpecific</span><span data-if="com" style="display:none">SetBarCodeParamSpecific</span><span data-if="dotnet" style="display:none">SetBarCodeParamSpecific</span><span data-if="python" style="display:none">set_bar_code_param_specific</span></code></a> some
parameters might become bar code type specific at runtime. These parameters
can not be read with the general operator
<a href="get_bar_code_param.html"><code><span data-if="hdevelop" style="display:inline">get_bar_code_param</span><span data-if="c" style="display:none">get_bar_code_param</span><span data-if="cpp" style="display:none">GetBarCodeParam</span><span data-if="com" style="display:none">GetBarCodeParam</span><span data-if="dotnet" style="display:none">GetBarCodeParam</span><span data-if="python" style="display:none">get_bar_code_param</span></code></a> but must be read for a given bar code type with
<a href="get_bar_code_param_specific.html"><code><span data-if="hdevelop" style="display:inline">get_bar_code_param_specific</span><span data-if="c" style="display:none">get_bar_code_param_specific</span><span data-if="cpp" style="display:none">GetBarCodeParamSpecific</span><span data-if="com" style="display:none">GetBarCodeParamSpecific</span><span data-if="dotnet" style="display:none">GetBarCodeParamSpecific</span><span data-if="python" style="display:none">get_bar_code_param_specific</span></code></a>. To make this access easy and generic,
the output <a href="#GenParamName"><i><code><span data-if="hdevelop" style="display:inline">GenParamName</span><span data-if="c" style="display:none">GenParamName</span><span data-if="cpp" style="display:none">GenParamName</span><span data-if="com" style="display:none">GenParamName</span><span data-if="dotnet" style="display:none">genParamName</span><span data-if="python" style="display:none">gen_param_name</span></code></i></a> of <code><span data-if="hdevelop" style="display:inline">query_bar_code_params</span><span data-if="c" style="display:none">query_bar_code_params</span><span data-if="cpp" style="display:none">QueryBarCodeParams</span><span data-if="com" style="display:none">QueryBarCodeParams</span><span data-if="dotnet" style="display:none">QueryBarCodeParams</span><span data-if="python" style="display:none">query_bar_code_params</span></code> can be
used as input parameter <a href="#GenParamName"><i><code><span data-if="hdevelop" style="display:inline">GenParamName</span><span data-if="c" style="display:none">GenParamName</span><span data-if="cpp" style="display:none">GenParamName</span><span data-if="com" style="display:none">GenParamName</span><span data-if="dotnet" style="display:none">genParamName</span><span data-if="python" style="display:none">gen_param_name</span></code></i></a> in
<a href="get_bar_code_param.html"><code><span data-if="hdevelop" style="display:inline">get_bar_code_param</span><span data-if="c" style="display:none">get_bar_code_param</span><span data-if="cpp" style="display:none">GetBarCodeParam</span><span data-if="com" style="display:none">GetBarCodeParam</span><span data-if="dotnet" style="display:none">GetBarCodeParam</span><span data-if="python" style="display:none">get_bar_code_param</span></code></a> or <a href="get_bar_code_param_specific.html"><code><span data-if="hdevelop" style="display:inline">get_bar_code_param_specific</span><span data-if="c" style="display:none">get_bar_code_param_specific</span><span data-if="cpp" style="display:none">GetBarCodeParamSpecific</span><span data-if="com" style="display:none">GetBarCodeParamSpecific</span><span data-if="dotnet" style="display:none">GetBarCodeParamSpecific</span><span data-if="python" style="display:none">get_bar_code_param_specific</span></code></a>, depending
on <a href="#Properties"><i><code><span data-if="hdevelop" style="display:inline">Properties</span><span data-if="c" style="display:none">Properties</span><span data-if="cpp" style="display:none">Properties</span><span data-if="com" style="display:none">Properties</span><span data-if="dotnet" style="display:none">properties</span><span data-if="python" style="display:none">properties</span></code></i></a>=<i><span data-if="hdevelop" style="display:inline">'*general'</span><span data-if="c" style="display:none">"*general"</span><span data-if="cpp" style="display:none">"*general"</span><span data-if="com" style="display:none">"*general"</span><span data-if="dotnet" style="display:none">"*general"</span><span data-if="python" style="display:none">"*general"</span></i> or
<a href="#Properties"><i><code><span data-if="hdevelop" style="display:inline">Properties</span><span data-if="c" style="display:none">Properties</span><span data-if="cpp" style="display:none">Properties</span><span data-if="com" style="display:none">Properties</span><span data-if="dotnet" style="display:none">properties</span><span data-if="python" style="display:none">properties</span></code></i></a>=<i><span data-if="hdevelop" style="display:inline">'*specific'</span><span data-if="c" style="display:none">"*specific"</span><span data-if="cpp" style="display:none">"*specific"</span><span data-if="com" style="display:none">"*specific"</span><span data-if="dotnet" style="display:none">"*specific"</span><span data-if="python" style="display:none">"*specific"</span></i>.
</p>
<p>Please note that you could
alternatively use a static tuple of
parameter names for <a href="get_bar_code_param.html"><code><span data-if="hdevelop" style="display:inline">get_bar_code_param</span><span data-if="c" style="display:none">get_bar_code_param</span><span data-if="cpp" style="display:none">GetBarCodeParam</span><span data-if="com" style="display:none">GetBarCodeParam</span><span data-if="dotnet" style="display:none">GetBarCodeParam</span><span data-if="python" style="display:none">get_bar_code_param</span></code></a> or
<a href="get_bar_code_param_specific.html"><code><span data-if="hdevelop" style="display:inline">get_bar_code_param_specific</span><span data-if="c" style="display:none">get_bar_code_param_specific</span><span data-if="cpp" style="display:none">GetBarCodeParamSpecific</span><span data-if="com" style="display:none">GetBarCodeParamSpecific</span><span data-if="dotnet" style="display:none">GetBarCodeParamSpecific</span><span data-if="python" style="display:none">get_bar_code_param_specific</span></code></a> (e.g., the parameter names described with
these operators), but this
is inflexible and therefore not recommended.
</p>
<p>Possible values for <a href="#Properties"><i><code><span data-if="hdevelop" style="display:inline">Properties</span><span data-if="c" style="display:none">Properties</span><span data-if="cpp" style="display:none">Properties</span><span data-if="com" style="display:none">Properties</span><span data-if="dotnet" style="display:none">properties</span><span data-if="python" style="display:none">properties</span></code></i></a> are:
</p>
<dl class="generic">

<dt><b><i><span data-if="hdevelop" style="display:inline">'all'</span><span data-if="c" style="display:none">"all"</span><span data-if="cpp" style="display:none">"all"</span><span data-if="com" style="display:none">"all"</span><span data-if="dotnet" style="display:none">"all"</span><span data-if="python" style="display:none">"all"</span></i>:</b></dt>
<dd>
<p>

Returns the names of all parameters supported by the bar code
reader. The names are independent of the bar code model given
in <a href="#BarCodeHandle"><i><code><span data-if="hdevelop" style="display:inline">BarCodeHandle</span><span data-if="c" style="display:none">BarCodeHandle</span><span data-if="cpp" style="display:none">BarCodeHandle</span><span data-if="com" style="display:none">BarCodeHandle</span><span data-if="dotnet" style="display:none">barCodeHandle</span><span data-if="python" style="display:none">bar_code_handle</span></code></i></a>.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'general'</span><span data-if="c" style="display:none">"general"</span><span data-if="cpp" style="display:none">"general"</span><span data-if="com" style="display:none">"general"</span><span data-if="dotnet" style="display:none">"general"</span><span data-if="python" style="display:none">"general"</span></i>:</b></dt>
<dd>
<p>

Returns the names of the parameters that contain the same values
for all supported bar code types, i.e., there are no specific values
set for certain bar code types, e.g., with
<a href="set_bar_code_param_specific.html"><code><span data-if="hdevelop" style="display:inline">set_bar_code_param_specific</span><span data-if="c" style="display:none">set_bar_code_param_specific</span><span data-if="cpp" style="display:none">SetBarCodeParamSpecific</span><span data-if="com" style="display:none">SetBarCodeParamSpecific</span><span data-if="dotnet" style="display:none">SetBarCodeParamSpecific</span><span data-if="python" style="display:none">set_bar_code_param_specific</span></code></a>. The values of only these
parameters can be read with <a href="get_bar_code_param.html"><code><span data-if="hdevelop" style="display:inline">get_bar_code_param</span><span data-if="c" style="display:none">get_bar_code_param</span><span data-if="cpp" style="display:none">GetBarCodeParam</span><span data-if="com" style="display:none">GetBarCodeParam</span><span data-if="dotnet" style="display:none">GetBarCodeParam</span><span data-if="python" style="display:none">get_bar_code_param</span></code></a>.
</p>
<p>Please note that the parameter name <i><span data-if="hdevelop" style="display:inline">'train'</span><span data-if="c" style="display:none">"train"</span><span data-if="cpp" style="display:none">"train"</span><span data-if="com" style="display:none">"train"</span><span data-if="dotnet" style="display:none">"train"</span><span data-if="python" style="display:none">"train"</span></i> is explicitly excluded
here. <i><span data-if="hdevelop" style="display:inline">'train'</span><span data-if="c" style="display:none">"train"</span><span data-if="cpp" style="display:none">"train"</span><span data-if="com" style="display:none">"train"</span><span data-if="dotnet" style="display:none">"train"</span><span data-if="python" style="display:none">"train"</span></i> in a following call to <a href="get_bar_code_param.html"><code><span data-if="hdevelop" style="display:inline">get_bar_code_param</span><span data-if="c" style="display:none">get_bar_code_param</span><span data-if="cpp" style="display:none">GetBarCodeParam</span><span data-if="com" style="display:none">GetBarCodeParam</span><span data-if="dotnet" style="display:none">GetBarCodeParam</span><span data-if="python" style="display:none">get_bar_code_param</span></code></a>
would return a multivalue tuple and therefore couldn't be used
within one tuple in combination with other parameter names.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'specific'</span><span data-if="c" style="display:none">"specific"</span><span data-if="cpp" style="display:none">"specific"</span><span data-if="com" style="display:none">"specific"</span><span data-if="dotnet" style="display:none">"specific"</span><span data-if="python" style="display:none">"specific"</span></i>:</b></dt>
<dd>
<p>

Returns the names of the parameters that contain specific values
for certain bar code types. The values of these parameters must
be read with <a href="get_bar_code_param_specific.html"><code><span data-if="hdevelop" style="display:inline">get_bar_code_param_specific</span><span data-if="c" style="display:none">get_bar_code_param_specific</span><span data-if="cpp" style="display:none">GetBarCodeParamSpecific</span><span data-if="com" style="display:none">GetBarCodeParamSpecific</span><span data-if="dotnet" style="display:none">GetBarCodeParamSpecific</span><span data-if="python" style="display:none">get_bar_code_param_specific</span></code></a> instead of
<a href="get_bar_code_param.html"><code><span data-if="hdevelop" style="display:inline">get_bar_code_param</span><span data-if="c" style="display:none">get_bar_code_param</span><span data-if="cpp" style="display:none">GetBarCodeParam</span><span data-if="com" style="display:none">GetBarCodeParam</span><span data-if="dotnet" style="display:none">GetBarCodeParam</span><span data-if="python" style="display:none">get_bar_code_param</span></code></a>. Bar code type specific values can
occur in conjunction with bar code autodiscrimination, described
with 该算子 <a href="find_bar_code.html"><code><span data-if="hdevelop" style="display:inline">find_bar_code</span><span data-if="c" style="display:none">find_bar_code</span><span data-if="cpp" style="display:none">FindBarCode</span><span data-if="com" style="display:none">FindBarCode</span><span data-if="dotnet" style="display:none">FindBarCode</span><span data-if="python" style="display:none">find_bar_code</span></code></a> or automatic parameter
training.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'trained_general'</span><span data-if="c" style="display:none">"trained_general"</span><span data-if="cpp" style="display:none">"trained_general"</span><span data-if="com" style="display:none">"trained_general"</span><span data-if="dotnet" style="display:none">"trained_general"</span><span data-if="python" style="display:none">"trained_general"</span></i>:</b></dt>
<dd>
<p>

Returns the names of parameters that have already been trained
and contain the same values for all supported bar code types.
The training mode is described with 该算子
<a href="set_bar_code_param.html"><code><span data-if="hdevelop" style="display:inline">set_bar_code_param</span><span data-if="c" style="display:none">set_bar_code_param</span><span data-if="cpp" style="display:none">SetBarCodeParam</span><span data-if="com" style="display:none">SetBarCodeParam</span><span data-if="dotnet" style="display:none">SetBarCodeParam</span><span data-if="python" style="display:none">set_bar_code_param</span></code></a>.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'trained_specific'</span><span data-if="c" style="display:none">"trained_specific"</span><span data-if="cpp" style="display:none">"trained_specific"</span><span data-if="com" style="display:none">"trained_specific"</span><span data-if="dotnet" style="display:none">"trained_specific"</span><span data-if="python" style="display:none">"trained_specific"</span></i>:</b></dt>
<dd>
<p>

Returns the names of the parameters that have already been trained
and contain specific values for certain bar code types.
The training mode is described with 该算子
<a href="set_bar_code_param.html"><code><span data-if="hdevelop" style="display:inline">set_bar_code_param</span><span data-if="c" style="display:none">set_bar_code_param</span><span data-if="cpp" style="display:none">SetBarCodeParam</span><span data-if="com" style="display:none">SetBarCodeParam</span><span data-if="dotnet" style="display:none">SetBarCodeParam</span><span data-if="python" style="display:none">set_bar_code_param</span></code></a>.
</p>
</dd>
</dl>
<h2 id="sec_execution">运行信息</h2>
<ul>
  <li>多线程类型:可重入(与非独占操作符并行运行)。</li>
<li>多线程作用域:全局(可以从任何线程调用)。</li>
  <li>未经并行化处理。</li>
</ul>
<h2 id="sec_parameters">参数表</h2>
  <div class="par">
<div class="parhead">
<span id="BarCodeHandle" class="parname"><b><code><span data-if="hdevelop" style="display:inline">BarCodeHandle</span><span data-if="c" style="display:none">BarCodeHandle</span><span data-if="cpp" style="display:none">BarCodeHandle</span><span data-if="com" style="display:none">BarCodeHandle</span><span data-if="dotnet" style="display:none">barCodeHandle</span><span data-if="python" style="display:none">bar_code_handle</span></code></b> (input_control)  </span><span>barcode <code>→</code> <span data-if="dotnet" style="display:none"><a href="HBarCode.html">HBarCode</a>, </span><span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">HHandle</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (handle)</span><span data-if="dotnet" style="display:none"> (<i>IntPtr</i>)</span><span data-if="cpp" style="display:none"> (<i>HHandle</i>)</span><span data-if="c" style="display:none"> (<i>handle</i>)</span></span>
</div>
<p class="pardesc">Handle of the bar code model.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Properties" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Properties</span><span data-if="c" style="display:none">Properties</span><span data-if="cpp" style="display:none">Properties</span><span data-if="com" style="display:none">Properties</span><span data-if="dotnet" style="display:none">properties</span><span data-if="python" style="display:none">properties</span></code></b> (input_control)  </span><span>attribute.name <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">str</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string)</span><span data-if="dotnet" style="display:none"> (<i>string</i>)</span><span data-if="cpp" style="display:none"> (<i>HString</i>)</span><span data-if="c" style="display:none"> (<i>char*</i>)</span></span>
</div>
<p class="pardesc">Properties of the parameters.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>
    <span data-if="hdevelop" style="display:inline">'trained_general'</span>
    <span data-if="c" style="display:none">"trained_general"</span>
    <span data-if="cpp" style="display:none">"trained_general"</span>
    <span data-if="com" style="display:none">"trained_general"</span>
    <span data-if="dotnet" style="display:none">"trained_general"</span>
    <span data-if="python" style="display:none">"trained_general"</span>
</p>
<p class="pardesc"><span class="parcat">List of values:
      </span><span data-if="hdevelop" style="display:inline">'all'</span><span data-if="c" style="display:none">"all"</span><span data-if="cpp" style="display:none">"all"</span><span data-if="com" style="display:none">"all"</span><span data-if="dotnet" style="display:none">"all"</span><span data-if="python" style="display:none">"all"</span>, <span data-if="hdevelop" style="display:inline">'general'</span><span data-if="c" style="display:none">"general"</span><span data-if="cpp" style="display:none">"general"</span><span data-if="com" style="display:none">"general"</span><span data-if="dotnet" style="display:none">"general"</span><span data-if="python" style="display:none">"general"</span>, <span data-if="hdevelop" style="display:inline">'specific'</span><span data-if="c" style="display:none">"specific"</span><span data-if="cpp" style="display:none">"specific"</span><span data-if="com" style="display:none">"specific"</span><span data-if="dotnet" style="display:none">"specific"</span><span data-if="python" style="display:none">"specific"</span>, <span data-if="hdevelop" style="display:inline">'trained_general'</span><span data-if="c" style="display:none">"trained_general"</span><span data-if="cpp" style="display:none">"trained_general"</span><span data-if="com" style="display:none">"trained_general"</span><span data-if="dotnet" style="display:none">"trained_general"</span><span data-if="python" style="display:none">"trained_general"</span>, <span data-if="hdevelop" style="display:inline">'trained_specific'</span><span data-if="c" style="display:none">"trained_specific"</span><span data-if="cpp" style="display:none">"trained_specific"</span><span data-if="com" style="display:none">"trained_specific"</span><span data-if="dotnet" style="display:none">"trained_specific"</span><span data-if="python" style="display:none">"trained_specific"</span></p>
</div>
  <div class="par">
<div class="parhead">
<span id="GenParamName" class="parname"><b><code><span data-if="hdevelop" style="display:inline">GenParamName</span><span data-if="c" style="display:none">GenParamName</span><span data-if="cpp" style="display:none">GenParamName</span><span data-if="com" style="display:none">GenParamName</span><span data-if="dotnet" style="display:none">genParamName</span><span data-if="python" style="display:none">gen_param_name</span></code></b> (output_control)  </span><span>attribute.name(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[str]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string)</span><span data-if="dotnet" style="display:none"> (<i>string</i>)</span><span data-if="cpp" style="display:none"> (<i>HString</i>)</span><span data-if="c" style="display:none"> (<i>char*</i>)</span></span>
</div>
<p class="pardesc">Names of the generic parameters.</p>
</div>
<h2 id="sec_example_all">例程 (HDevelop)</h2>
<pre class="example">
TrainParams := ['element_size_min', 'element_size_max', 'orientation']
Train3times := gen_tuple_const(|TrainParams|,'train')
create_bar_code_model (Train3times, TrainParams, BarCodeHandle)
find_bar_code (Image, SymbolRegions, BarCodeHandle, 'EAN-13', \
               DecodedDataStrings)
query_bar_code_params (BarCodeHandle, 'trained_general', NamesGen)
* returns NamesGen = ['element_size_max', 'element_size_min']
get_bar_code_param (BarCodeHandle, NamesGen, ValGen)
* returns e.g., ValGen = [4.0, 1.5]
query_bar_code_params (BarCodeHandle, 'trained_specific', NamesSpec)
* returns NamesSpec = ['orientation', 'orientation_tol']
get_bar_code_param_specific (BarCodeHandle, 'EAN-13', NamesSpec, ValSpec)
* returns e.g., ValSpec = [89.9127, 0.5]
</pre>
<h2 id="sec_result">结果</h2>
<p>该算子 <code><span data-if="hdevelop" style="display:inline">query_bar_code_params</span><span data-if="c" style="display:none">query_bar_code_params</span><span data-if="cpp" style="display:none">QueryBarCodeParams</span><span data-if="com" style="display:none">QueryBarCodeParams</span><span data-if="dotnet" style="display:none">QueryBarCodeParams</span><span data-if="python" style="display:none">query_bar_code_params</span></code> 返回值 <TT>2</TT> (
      <TT>H_MSG_TRUE</TT>)
     if the
given parameters are correct. Otherwise, an exception is raised.</p>
<h2 id="sec_predecessors">可能的前置算子</h2>
<p>
<code><a href="find_bar_code.html"><span data-if="hdevelop" style="display:inline">find_bar_code</span><span data-if="c" style="display:none">find_bar_code</span><span data-if="cpp" style="display:none">FindBarCode</span><span data-if="com" style="display:none">FindBarCode</span><span data-if="dotnet" style="display:none">FindBarCode</span><span data-if="python" style="display:none">find_bar_code</span></a></code>, 
<code><a href="decode_bar_code_rectangle2.html"><span data-if="hdevelop" style="display:inline">decode_bar_code_rectangle2</span><span data-if="c" style="display:none">decode_bar_code_rectangle2</span><span data-if="cpp" style="display:none">DecodeBarCodeRectangle2</span><span data-if="com" style="display:none">DecodeBarCodeRectangle2</span><span data-if="dotnet" style="display:none">DecodeBarCodeRectangle2</span><span data-if="python" style="display:none">decode_bar_code_rectangle2</span></a></code>
</p>
<h2 id="sec_successors">可能的后置算子</h2>
<p>
<code><a href="get_bar_code_param.html"><span data-if="hdevelop" style="display:inline">get_bar_code_param</span><span data-if="c" style="display:none">get_bar_code_param</span><span data-if="cpp" style="display:none">GetBarCodeParam</span><span data-if="com" style="display:none">GetBarCodeParam</span><span data-if="dotnet" style="display:none">GetBarCodeParam</span><span data-if="python" style="display:none">get_bar_code_param</span></a></code>, 
<code><a href="get_bar_code_param_specific.html"><span data-if="hdevelop" style="display:inline">get_bar_code_param_specific</span><span data-if="c" style="display:none">get_bar_code_param_specific</span><span data-if="cpp" style="display:none">GetBarCodeParamSpecific</span><span data-if="com" style="display:none">GetBarCodeParamSpecific</span><span data-if="dotnet" style="display:none">GetBarCodeParamSpecific</span><span data-if="python" style="display:none">get_bar_code_param_specific</span></a></code>
</p>
<h2 id="sec_module">模块</h2>
<p>
Bar Code</p>
<!--OP_REF_FOOTER_START-->
<hr>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<div class="footer">
<div class="copyright">HALCON算子参考手册 Copyright © 2015-2023 51Halcon</div>
</div>
</div>
</body>
</html>
